b816d2770e8737bfd541e82b74760cbfb250c126,java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/ProcessCandidateParameterTypeInferencePolicy.java,ProcessCandidateParameterTypeInferencePolicy,inferConstraint,#PsiTypeParameter#PsiExpression#number#PsiType#JavaResolveResult#PsiSubstitutor#,91

Before Change


        });
        PsiResolveHelperImpl resolveHelper = (PsiResolveHelperImpl)JavaPsiFacade.getInstance(method.getProject()).getResolveHelper();
        final Pair<PsiType, ConstraintType> constraint =
          resolveHelper.getSubstitutionForTypeParameterConstraint(typeParameter, innerReturnType, type, false,
                                                                         PsiUtil.getLanguageLevel(finalParameter));
        if (constraint != null) return constraint;
      }
    }

After Change


        PsiResolveHelperImpl resolveHelper = (PsiResolveHelperImpl)JavaPsiFacade.getInstance(method.getProject()).getResolveHelper();
        final LanguageLevel languageLevel = PsiUtil.getLanguageLevel(finalParameter);
        final Pair<PsiType, ConstraintType> constraint =
          ((PsiOldInferenceHelper)resolveHelper.getInferenceHelper(languageLevel)).getSubstitutionForTypeParameterConstraint(typeParameter, innerReturnType, type, false, languageLevel);
        if (constraint != null) return constraint;
      }
    }